Libraries
#library(reticulate)
library(tidyverse)
#library(plotly)
library(janitor)
library(readxl)
library(DT)
library(xlsx)
Analysis of NHL Skaters
This is a NHL Players total DK seasonal points based on their point structure
It is ordered by Total Points and then arranged alphabetically by team.
# note: there are so many columns in the file that "view" will not run them all.
skater_analysis <- read_csv("extra/Moneypuck/skaters_Moneypuck/skaters.csv", col_names = TRUE) %>%
select(1, 3:8, 17, 28:29, 33:35, 78, 84) %>%
clean_names() %>%
dplyr::filter(situation == "all") %>%
dplyr::mutate(tot_assists = i_f_primary_assists + i_f_secondary_assists,
tot_goal_pts = i_f_goals * 8.5,
tot_assist_pts = tot_assists*5,
tot_shot_pts = i_f_shot_attempts * 1.5,
tot_shot_block_pts = shots_blocked_by_player * 1.3,
grand_point_total = tot_goal_pts + tot_assist_pts + tot_shot_pts + tot_shot_block_pts,
grand_point_total_per_60 = round((grand_point_total * 60)/(icetime/60), 2)) %>%
dplyr::relocate(name, team, position, grand_point_total, grand_point_total_per_60, tot_goal_pts, tot_assist_pts, tot_shot_pts, tot_shot_block_pts, ice_time_rank) %>%
dplyr::arrange(team, desc(grand_point_total)) %>%
dplyr::select(1:9, 12:13, 11) # minimize the number of fields in skater data
# add in salary data
money_added <- read_csv("extra/salary/dk_salary_min.csv") %>%
dplyr::select(1, 3:4)
# join
skater_analysis <- dplyr::left_join(skater_analysis, money_added, by = "name")
skater_analysis <- skater_analysis %>%
drop_na(salary, today) %>%
dplyr::arrange(desc(grand_point_total_per_60)) %>%
dplyr::select(1:14)
# add in dynamic shot data
skater_dynamics <- read_csv("dynamic_totals.csv", col_names = TRUE) %>%
dplyr::select(3:7) %>%
dplyr::rename(name = shooter)
# join dynamic tables
skater_dynamic_analysis_money <- dplyr::left_join(skater_analysis, skater_dynamics, by = "name")
skater_dynamic_analysis_money <- skater_dynamic_analysis_money %>%
dplyr::relocate(1:3, 13, 15:17, 5, 4, 6:11) %>%
dplyr::relocate(1:16, 18)
Generate a heatmap of the top 35 players based on season totals
NHL Skater Data ordered by Team and Total Season FanDuel Point
Structure
datatable(skater_dynamic_analysis_money, class = 'cell-border stripe')
Write an xlsx file to the Monepuck Directory